1. The Field of the Invention
The present invention relates to network communication technology. More specifically, the present invention relates to mechanisms for configuring a physical storage device on a network to emulate Small Computer System Interconnect (SCSI) devices with different physical properties.
2. Background and Related Art
Computing technology has transformed the way we work and play. In a typical configuration, a computing system is coupled through a local bus to a variety of hardware devices for optimal operation. Such devices may include, for example, magnetic and/or optical disk drives, printers, fax machines, scanners, cameras, or the like. The computing system communicates with each of the connected hardware devices using a standard communication protocol that is recognized by the hardware device.
One commonly used communication protocol for communication between a computing system and its various connected hardware devices is a parallel interface standard called “Small Computer System Interface” (SCSI for short). SCSI allows for effective block transfer of data between a computing system and its various peripheral devices. However, SCSI does have certain limitations. In particular, data transfer using SCSI is relatively slow compared to other data transfer mechanisms. Furthermore, the cable length of the SCSI is relatively short compared to expansive networks. Accordingly, the hardware devices typically have to be close to the computing system if SCSI is employed in its purest form.
More recently, SCSI devices have been connected to computing system over networks, rather than locally through a bus. Such network-connected SCSI devices allow for more flexible network topologies since the SCSI device may serve a number of computing systems and need not be locally connected to any computing system it serves. However, SCSI commands cannot be communicated over a network directly, without being encapsulated into formats compatible with network transfer. Accordingly, various mechanisms for communicating SCSI commands over a network have been developed.
One such mechanism is an improvement to SCSI is called “Internet SCSI” (“iSCSI” for short). iSCSI is a standard which allows standard SCSI commands and responses to be communicated over any IP-based network such as Ethernets and the Internet. The computing system includes an “initiator” (which may be hardware or software) which initiates communication with the target device using the iSCSI standard. Specifically, the SCSI message is fragmented if needed and then encapsulated with Internet Protocol (IP) headers, whereupon it is sent over the IP network. The target device then extracts and executes the SCSI command, and then returns the response, if any, using the iSCSI standard over the IP-based network. Another method for communicating SCSI commands over a network is called Fiber Channel.
It is sometimes advantageous for a device to emulate one or more SCSI devices or to have more than one device emulate a single SCSI device. For example, suppose that an Information Technology (IT) administrator has a one hundred gigabyte hard drive available, but has several storage needs. For example, the IT administrator may need ten hard disks, one for each client, a tape drive for nightly backup purposes. It would be much less expensive to have the one hundred gigabyte hard drive emulate the five different hard drives and the tape drive, rather than having to purchase these devices separately.
Accordingly, what would be advantageous are mechanisms in which one physical storage device emulates other storage devices.